s <- fall_run_model(mode = "seed")
sim <- fall_run_model(seeds = s, mode = "simulate")
Definition: This value represents the proportion of natural spawners created by in river spawners from three years prior.
Calculation: Adult return to natural origin/spawning adult ratio (mean) is defined as: the number of natural origin adult returns in year X + 3 divided by the number of in-river spawners in year X.
\(natural origin adults _ (x+3) / in river spawners_x\)
Assumptions:
Adults return over the course of three years with 25% returning in year X + 2, 50% returning in year X + 3, and the final 25% returning in year X + 4. For example, in year 6 adults are returning from years 2 (25%), 3 (50%), and 4 (25%). This should be considered when exploring the adult return ratio because each year’s value is an aggregate of multiple years of return salmonids.
Values as NA do not have spawning
natural_spawners <- (sim$proportion_natural * sim$spawners) |>
as_tibble() |>
mutate(watershed = fallRunDSM::watershed_labels) |>
pivot_longer(names_to = "year", values_to = "natural_spawners", -watershed)
in_river_spawners <- sim$spawners |>
as_tibble() |>
mutate(watershed = fallRunDSM::watershed_labels) |>
pivot_longer(names_to = "year", values_to = "total_spawners", -watershed)
sim_spawners <- in_river_spawners |>
left_join(natural_spawners) |>
group_by(watershed) |>
mutate(
year = as.numeric(year),
lag_total = lag(total_spawners, 3),
origin_year = lag(year, 3),
metric = natural_spawners / lag_total)
adult_plot <- sim_spawners |>
ggplot(aes(origin_year, metric)) +
geom_line(aes(color = watershed)) +
scale_x_continuous(breaks = 1:20) +
theme_minimal() +
ylab('Adult Return Ratio')
ggplotly(adult_plot)
# theme(legend.position = "top")
# 20 year average across all watersheds
# percents
sim_spawners |>
group_by(watershed) |>
summarise(
mean_adult_return_to_origin = mean(metric, na.rm = TRUE) * 100,
median_adult_return_to_origin = median(metric, na.rm = TRUE) * 100
) |> knitr::kable(digits = 1)
| watershed | mean_adult_return_to_origin | median_adult_return_to_origin |
|---|---|---|
| American River | 16.6 | 15.2 |
| Antelope Creek | 133.1 | 63.7 |
| Battle Creek | 0.5 | 0.4 |
| Bear Creek | 142.3 | 82.6 |
| Bear River | 134.0 | 92.0 |
| Big Chico Creek | 140.3 | 69.6 |
| Butte Creek | 86.3 | 53.5 |
| Calaveras River | 129.9 | 73.4 |
| Clear Creek | 51.2 | 26.7 |
| Cosumnes River | 111.7 | 81.3 |
| Cottonwood Creek | 101.9 | 52.7 |
| Cow Creek | 58.8 | 25.2 |
| Deer Creek | 75.4 | 37.6 |
| Elder Creek | 218.4 | 119.5 |
| Feather River | 16.6 | 11.4 |
| Lower Sacramento River | NaN | NA |
| Lower-mid Sacramento River | NaN | NA |
| Merced River | 9.2 | 3.5 |
| Mill Creek | 64.7 | 29.3 |
| Mokelumne River | 2.8 | 1.2 |
| Paynes Creek | 136.7 | 74.5 |
| San Joaquin River | NaN | NA |
| Stanislaus River | 20.6 | 10.3 |
| Stony Creek | 163.8 | 98.2 |
| Sutter Bypass | NaN | NA |
| Thomes Creek | 158.9 | 72.3 |
| Tuolumne River | 14.8 | 10.9 |
| Upper Sacramento River | 55.3 | 26.6 |
| Upper-mid Sacramento River | NaN | NA |
| Yolo Bypass | NaN | NA |
| Yuba River | 36.7 | 28.6 |
Definition: This ratio represents the percent of returning natural origin adults that a cohort of juveniles produces.
Calculation: The average juvenile to adult return ration is defined as the number of juveniles produced in year X divided by the number of natural origin adult returns in year X + 3.
\(juveniles_x / natural origin adults_(x_+3)\)
Assumptions:
The number of juveniles produced is assumed to be the value prior to survival and migration factors applied. TODO: Do we want to capture total juveniles prior to or after survival metrics are applied?
Values as NA do not have spawning
juveniles <- sim$juveniles |>
as_tibble() |>
mutate(year = as.numeric(year)) |>
group_by(year, watershed) |>
summarise(total_juveniles = sum(juveniles)) |>
ungroup() |>
left_join(natural_spawners |>
mutate(year = as.numeric(year))) |>
arrange(watershed, year) |>
group_by(watershed) |>
mutate(natural_spawners_lag = lead(natural_spawners, 3),
metric = total_juveniles / natural_spawners_lag,
metric_rev = natural_spawners_lag / total_juveniles) |>
ungroup()
juveniles |>
group_by(watershed) |>
summarise(avg_juvenile_metric_perc = mean(metric_rev, na.rm = TRUE) * 100,
median_juvenile_metric_perc = median(metric_rev, na.rm = TRUE) * 100) |>
arrange(-avg_juvenile_metric_perc) |>
knitr::kable(digits = 1)
| watershed | avg_juvenile_metric_perc | median_juvenile_metric_perc |
|---|---|---|
| Elder Creek | 0.5 | 0.3 |
| Stony Creek | 0.4 | 0.2 |
| Thomes Creek | 0.4 | 0.2 |
| Cottonwood Creek | 0.3 | 0.3 |
| Bear Creek | 0.3 | 0.2 |
| Big Chico Creek | 0.3 | 0.2 |
| Calaveras River | 0.3 | 0.2 |
| Paynes Creek | 0.3 | 0.2 |
| Bear River | 0.3 | 0.2 |
| Antelope Creek | 0.3 | 0.1 |
| Cosumnes River | 0.3 | 0.2 |
| Butte Creek | 0.2 | 0.1 |
| Deer Creek | 0.2 | 0.1 |
| Upper Sacramento River | 0.2 | 0.1 |
| Mill Creek | 0.2 | 0.1 |
| Cow Creek | 0.1 | 0.1 |
| Clear Creek | 0.1 | 0.1 |
| Feather River | 0.1 | 0.0 |
| Yuba River | 0.1 | 0.1 |
| Stanislaus River | 0.1 | 0.0 |
| American River | 0.0 | 0.0 |
| Tuolumne River | 0.0 | 0.0 |
| Merced River | 0.0 | 0.0 |
| Battle Creek | 0.0 | 0.0 |
| Mokelumne River | 0.0 | 0.0 |
| Lower Sacramento River | NaN | NA |
| Lower-mid Sacramento River | NaN | NA |
| San Joaquin River | NaN | NA |
| Sutter Bypass | NaN | NA |
| Upper-mid Sacramento River | NaN | NA |
| Yolo Bypass | NaN | NA |
juv_plot <- juveniles |>
ggplot(aes( year, metric_rev)) +
geom_line(aes(color = watershed)) +
scale_x_continuous(breaks = 1:20) +
ylab('Juvenile to Adult Ratio') +
theme_minimal()
ggplotly(juv_plot)